﻿#ifndef TOOL_H
#define TOOL_H

#include<QtGlobal>
#include<QString>
#include<QStringList>
#include<QSettings>
#include<QDate>
#include<QTime>
#include<QDebug>
#include<QFile>
#include<QDir>
#include<QFileInfo>
#include<QImage>
#include<QPixmap>
#include<QProcess>
#include<string.h>
#include <opencv2/opencv.hpp>

QString getCurPath(void);
QString getNumber(const float N,const int dec=3);
bool saveImage(const QString name,int Dpi, int Rotate, QImage *img = nullptr);
void retInfo(const QString msg);
void qStrToCstr(const QString q_str,char *v_str,size_t size);
int qStrToInt(const QString q_str);
float qStrToFloat(const QString q_str);
void qStrToInts(const QString q_str,int *v_ints,size_t size);
QString getNewDir(void);
int getDirNums(const QString dir);

cv::Mat cvMatInverse( const cv::Mat &inMat);
QImage  cvMatToQImage( const cv::Mat &inMat );
QPixmap cvMatToQPixmap( const cv::Mat &inMat );
cv::Mat matResize(const cv::Mat &image, int nWidth, int nHeight, float &scale);
float imageScale(int nWidth, int nHeight,int sWidth, int sHeight);
cv::Mat cvMatContrastBrightness(int contrastValue, int brightnessValue, const cv::Mat &inMat);
cv::Mat cvMatSaturation(int value, const cv::Mat &inMat);
cv::Mat cvMatGamma(int value, const cv::Mat &inMat);
void cvMatSave(const cv::Mat , const QString name);
#endif // TOOL_H
